1 package uba.db.sql.language;
2
3 /***
4 * Representa un "criterio de seleccion", es decir una expresion booleana que se
5 * utiliza para seleccionar campos en la expresiones WHERE.
6 *
7 * @version $Revision: 1.9 $
8 */
9 public interface SelectionCriteria extends Visitable {
10 /***
11 * Retorna una instancia que representa: this AND other
12 *
13 * @param other
14 * criterio de seleccion que será retornado en el AND.
15 */
16 SelectionCriteria and(SelectionCriteria other);
17
18 /***
19 * Retorna una instancia que representa: this OR other
20 *
21 * @param other
22 * criterio de seleccion que será retornado en el OR.
23 */
24 SelectionCriteria or(SelectionCriteria other);
25
26 /***
27 * Retorna una instancia que representa: NOT this
28 */
29 SelectionCriteria not();
30
31 /***
32 * Este metodo es utilizado para hacer double dispatch.
33 *
34 * @see #and(SelectionCriteria)
35 */
36 SelectionCriteria andAfter(SelectionCriteria other);
37
38 /***
39 * Este metodo es utilizado para hacer double dispatch.
40 *
41 * @see #or(SelectionCriteria)
42 */
43 SelectionCriteria orAfter(SelectionCriteria other);
44
45 Object valueWith(EvaluationContext context);
46
47 boolean isTrueWith(EvaluationContext context);
48 }